/**
 * 格式化日期
 * @param {Date|string|number} date - 日期对象、字符串或时间戳
 * @param {string} format - 格式字符串，如 'YYYY-MM-DD HH:mm:ss'
 */
export function formatDate(date, format = 'YYYY-MM-DD') {
  if (!date) return ''
  const d = new Date(date)
  const year = d.getFullYear()
  const month = String(d.getMonth() + 1).padStart(2, '0')
  const day = String(d.getDate()).padStart(2, '0')
  const hour = String(d.getHours()).padStart(2, '0')
  const minute = String(d.getMinutes()).padStart(2, '0')
  const second = String(d.getSeconds()).padStart(2, '0')
  
  return format
    .replace('YYYY', year)
    .replace('MM', month)
    .replace('DD', day)
    .replace('HH', hour)
    .replace('mm', minute)
    .replace('ss', second)
}

/**
 * 格式化价格
 * @param {number} price - 价格
 * @param {number} decimal - 小数位数
 */
export function formatPrice(price, decimal = 2) {
  if (isNaN(price) || price === null) return '0.00'
  return Number(price).toFixed(decimal)
}

/**
 * 获取URL参数
 * @param {string} name - 参数名
 * @param {string} url - URL，默认为当前页面路径
 */
export function getQueryString(name, url) {
  // 如果没有传入url，使用当前页面路径
  if (!url) {
    const pages = getCurrentPages()
    const currentPage = pages[pages.length - 1]
    url = currentPage ? currentPage.$page.fullPath : ''
  }
  
  const reg = new RegExp(`(^|&)${name}=([^&]*)(&|$)`, 'i')
  const r = url.substr(url.indexOf('?') + 1).match(reg)
  if (r != null) return decodeURIComponent(r[2])
  return null
}

/**
 * 检查手机号格式
 * @param {string} phone - 手机号
 */
export function checkPhone(phone) {
  const reg = /^1[3-9]\d{9}$/
  return reg.test(phone)
}

/**
 * 检查邮箱格式
 * @param {string} email - 邮箱
 */
export function checkEmail(email) {
  const reg = /^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$/
  return reg.test(email)
}    